KVM local migration issue #3521#3533
Conversation
Local storage KVM live migration does not support VIR_MIGRATE_NON_SHARED_INC. Among other fixes that address apache#3521, this commit allows to use flag VIR_MIGRATE_NON_SHARED_DISK when migrating local storage VMs.
|
@blueorangutan package |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-202 |
|
Live storage migration for vmware and kvm for VMs with shared storage would be needed cc @andrijapanicsb @borisstoyanov @nvazquez |
|
@rhtyd a Trillian-Jenkins matrix job (centos6 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests |
|
Trillian test result (tid-249)
|
|
Trillian test result (tid-248)
|
|
Trillian test result (tid-250)
|
|
Tests LGTM, can you review @andrijapanicsb @borisstoyanov - we'll need to test live vm with storage migration of shared/nfs storage on KVM |
|
|
||
| StoragePoolVO destStoragePool = _storagePoolDao.findById(destDataStore.getId()); | ||
| StoragePoolVO sourceStoragePool = _storagePoolDao.findById(srcVolumeInfo.getPoolId()); | ||
| if (sourceStoragePool.getPoolType() == StoragePoolType.NetworkFilesystem && destStoragePool.getPoolType() == StoragePoolType.NetworkFilesystem) { |
There was a problem hiding this comment.
@GabrielBrascher shouldn't it loop and check for all volumes before returning true? It could be like it can return false if any of the src/dest pools are not nfs
There was a problem hiding this comment.
@rhtyd The idea is that if at least one of the disks is NFS it cannot be migrated on the execution flow of local storage. Taking a second look I see that the method name might need enhancements.
Am I missing something? Please let me know if something doesn't look right. Thanks for the review.
yadvr
left a comment
There was a problem hiding this comment.
One remark left, otherwise LGTM
|
CentOS6, VM+ROOT on local storage, fails in CloudStack with following lines on the destination KVM host: 2019-08-06 12:08:05,608 INFO [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-1:null) (logid:a900bfb2) Trying to fetch storage pool 7d69d5bf-0383-476a-90bd-41139db0d596 from libvirt The storage pool 7d69d5bf-0383-476a-90bd-41139db0d596 is the local pool on SOURCE host. @GabrielBrascher not sure if you want this fixed on CentOS6, since we officially support it ? Ubuntu 18, VM+ROOT on local storage - migration to another host works fine. CentOS7 doesn't work (thanks to RedHat $$$hitty commercial logic and qemu code changes...) Will test shared storage volume migration... |
|
@mike-tutkowski any chance to test live storage migration with KVM+SolidFire - I see a lot of removed/changed code "xxx_managed_yyy"? @GabrielBrascher can you advise on above ^^ ^? |
|
@syed ^^^ |
|
Thanks for testing @andrijapanicsb. I did all tests on KVM + Ubuntu and it worked well; however, I did not test with CentOS6. Is there any log for share so that we can tackle the CentOS6 issue? |
|
@svenvogel can you kindly test if KVM live migration with SF works fine (NFS/CEPH to SF) ? |
|
@GabrielBrascher |
There was a problem hiding this comment.
LGTM except previously left 2 comments @GabrielBrascher @rhtyd
- centos6 support for locale storage migartion - yes or no ?
- would be good that someone test CEPH/NFS to SF if possible with KVM (won't work on CentOS 7 except if very custom qemu/libvirt used)
=====================================
For the record, what has been tested for regression
Baseline was 4.11.3
4.11 KVM:
NFS to NFS - online storage migration (migrateVirtualMachineWithVolume) doesn't work at all (1 or 2 volumes attached to VM). This might have been fixed in 4.12
NFS to NFS - offline migration of VM works only when single ROOT disk attached (fails if DATA disks attached), otherwise direct volume offline migration works fine.
4.11 VMware -
NFS to NFS - online storage migration (migrateVirtualMachineWithVolumes) - works fine for both single disk VM and VM with DATA disks as well
NFS to NFS - offline migration of VM works only when single ROOT disk attached (fails if DATA disks attached), otherwise direct volume offline migration works fine.
==============================
4.13 PR3533 - KVM:
NFS to NFS - online storage migration (migrateVirtualMachineWithVolumes) with just ROOT volume attached works (fails if DATA disks attached, even if migrating choosen to migrate just the ROOT volume)
NFS to NFS - offline migration ov VM works same as in 4.11 (can migrate VM with only ROOT volume, otherwise direct volume offline migration works fine)
4.13 PR3533 VMware
NFS to NFS - online storage migration (migrateVirtualMachineWithVolumes) - works fine for both single disk VM and VM with DATA disks as well
NFS to NFS - offline migration of VM - an improvement over 4.11 - can migrate the whole VM with both ROOT and DATA volumes attached
borisstoyanov
left a comment
There was a problem hiding this comment.
LGTM based on test results and Andrija's testing
|
I think for EL6, storage migration (live) would be limiting. The feature should largely be encouraged on newer distros with newer libvirt. |
|
@GabrielBrascher need your advice since you guys worked on the local migration with KVM. I saw a case (didn't reproduce it myself, but while working with the customer, on 4.13) that when KVM is using local storage, and you try to put a host into maintenance, the following seems to happen:
My question is - what is expected to be happening and what is not, and why is the VR's volume in RAW, vs QCOW2 format? Can you lay down the expected behaviour based on the code you've done so far (in 4.13) Thanks |
|
@andrijapanicsb I will run some tests and check this out, thanks for the heads-up. |
Description
Fix regression bug that affects KVM local storage migration. Some of the desired execution flows for KVM local storage migration had been altered to allow only managed storage to execute. Fixed allowing managed and non managed storages to execute.
Fixes #3521
Types of changes
Screenshots (if appropriate):
How Has This Been Tested?